package com.etc.dao;

import com.etc.entity.Travels;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface TravelsMapper {
    int deleteByPrimaryKey(Integer traId);

    int insert(Travels record);

    int insertSelective(Travels record);

    Travels selectByPrimaryKey(Integer traId);

    int updateByPrimaryKeySelective(Travels record);

    int updateByPrimaryKey(Travels record);

    /**
     * @Author 史泽浩
     * @Description 
     * @Date 2019/05/25 16:52
     * @Param []
     * @Return java.util.List<com.etc.entity.Travels>
     **/
    // 查询所有的游记
    @Cacheable(cacheNames = "dao.Travels.selectAll", key = "'selectAll'+#p0")
    List<Travels> selectAll();

    // 根据用户ID查询所有的游记

    List<Travels> selectByUserid(int userId);

    /**
     * 分页模糊查询攻略
     * @param start 起始页
     * @param limit 显示记录条数
     * @param content 模糊查询关键字
     * @return Travels的集合
     */
    List<Travels> selecTravelsByPage(Integer start,Integer limit,String content);

    /**
     * 根据关键字查询的记录总数
     * @param content 查询的关键字
     * @return 记录总数
     */
    int countTravelsByPage(String content);
}